$class-prefix-radio: rt-radio;

.#{$class-prefix-radio} {
  --icon-size: 18px;
  --font-size: var(--rt-size-12);
  --gap: 8px;
  --custom-icon-height: 24px;

  display: inline-flex;
  vertical-align: text-bottom;
  justify-content: flex-start;
  align-items: center;
  cursor: pointer;

  input {
    display: none;
  }

  &-content {
    flex: 0 1 auto;
    font-size: var(--font-size);
    padding-left: var(--gap);
  }

  &-icon {
    flex: none;
    box-sizing: border-box;
    width: var(--icon-size);
    height: var(--icon-size);
    border: 1px solid var(--rt-color-light);
    border-radius: var(--icon-size);
    color: var(--rt-color-text-light-solid);

    > svg {
      display: block;
      width: 100%;
      height: 100%;
    }
  }

  &.#{$class-prefix-radio}-block {
    display: flex;
  }

  &.#{$class-prefix-radio}-checked {
    .#{$class-prefix-radio}-icon {
      border-color: var(--rt-color-primary);
      background-color: var(--rt-color-primary);
    }
  }

  &.#{$class-prefix-radio}-disabled {
    cursor: not-allowed;

    .#{$class-prefix-radio}-content {
      opacity: 0.4;
    }

    .#{$class-prefix-radio}-icon {
      color: var(--rt-color-light);
      border-color: var(--rt-color-light);
      background-color: var(--rt-color-fill-content);
    }
  }
  
  .#{$class-prefix-radio}-custom-icon {
    font-size: var(--icon-size);
    height: var(--custom-icon-height);
  }
}
